package com.xq.apis;

import com.xq.dto.UmsOrganizations.*;
import com.xq.vo.JsonVO;

public interface UmsOrganizationsApis {

    /**
     * 创建组织【小组或者公司】
     * @param createdDTO
     * @return
     */
    JsonVO<String> addOrganizations(UmsOrganizationsCreatedDTO createdDTO);

    /**
     * 删除组织
     * @param organizationId
     * @return
     */
    JsonVO<String> deleteOrganizations(String organizationId);

    /**
     * 修改组织
     * @param updateDTO
     * @return
     */
    JsonVO<String> updateOrganizations(UmsOrganizationsUpdateDTO updateDTO);

    /**
     * 给员工分组
     * @param addDTO
     * @return
     */
    JsonVO<String> addUserInOrganization(UmsOrganizationUserAddDTO addDTO);

    /**
     * 将员工从组织中删除
     * @param deleteDTO
     * @return
     */
    JsonVO<String> deleteUserInOrganization(UmsOrganizationUserDeleteDTO deleteDTO);

    /**
     * 根据根组织来查询其下面所有的组织
     * 使用递归查询来查询数据，最后以树的形式封装到DTO中
     */
    JsonVO<UmsOrganizationFindAllDTO> getAllOrganization(String root);

}
